iT邦幫忙

2026 iThome 鐵人賽

DAY 21
0

DAY21 VLAN/Trunk/Native VLAN/Double Tagging

  • 一. VLAN 虛擬區域網路
    • 1-1 VLAN與防火牆
    • 1-2 Access Port 存取連接埠
    • 1-3 Trunk Port 主幹連接埠
  • 二. 雙重標籤攻擊 Double Tagging Attack
    • 2-1 動態主幹協商 Dynamic Trunking
    • 2-2 VLAN跳躍 VLAN Hopping

複習一下
DAY18 網路分段
目的:降低橫向移動與事故擴散
其中一個常見的技術:
VLAN 虛擬區域網路

一. VLAN 虛擬區域網路

Virtual Local Area Network,VLAN
虛擬區域網路

是一種在交換器上透過軟體設定
把同一台實體交換器上的連接埠,劃分成多個獨立的網路技術

是L2的邏輯分段技術
但通訊需要L3 的Routing

假設公司有一台交換器:
連接著

  1. 員工電腦
  2. 財務電腦
  3. 伺服器

它們本來在同一個廣播域上

可以用VLAN拆分成
VLAN 10

員工電腦

VLAN 20

財務電腦

VLAN 30

伺服器

一樣在同一台實體交換器上
但:
已經被切成不同VLAN

廣播域
白話說就是喊話時聽得到的範圍
例如:
誰是192.168.1.1
這時所有裝置都聽得到這句話
但只有真正的192.168.1.1會回應

VLAN的好處:

  1. 減少廣播範圍
  2. 降低橫向移動的風險

IPAS 114-2 Q7
關於VLAN與安全性的敘述,下列何者較為正確?
B :可以減少廣播範圍並降低橫向攻擊風險

其中 C :可以取代防火牆
VLAN 是分隔網路
如果兩個VLAN雖然網路分隔了,
但中間沒有嚴格ACL(存取控制清單)或防火牆
還是可以互相自由存取

1-1 VLAN與防火牆

以馬路做假設:

在沒有VLAN的時候

大家都在同一條馬路上,彼此互通彼此

加入VLAN之後

馬路被分成A路和B路
AB兩邊互不相通

如果今天A路有人想走到B路

那就必須在A和B之間開一個路口,讓A的人能走到B
Inter-VLAN Routing (跨VLAN路由)

而防火牆的角色就像這個AB中間的保全

封包不管從A->B還是B->A都需要經過它的檢查

簡單來說:

  • VLAN 它管誰跟誰是一群的
  • 路由器 管封包怎麼走
  • 防火牆 管封包能不能過

1-2 Access Port 存取連接埠

通常只屬於一個VLAN

例如:
Switch port1
-> VLAN 10
-> PC1
對電腦來說就是普通的乙太網路
從 Access Port 送出的封包不會帶 VLAN Tag
Untagged 沒有貼 VLAN Tag 的狀態

VLAN的設定是交給交換器處理,讓終端設備可以無感地被歸到某個 VLAN 裡

終端設備通常包含:

  • 電腦
  • 印表機
  • 等等...

舉例解釋:
下面是一間公司的其中一台交換器

口 VLAN 終端
Port1 VLAN10 客服電腦
Port2 VLAN10 印表機
Port3 VLAN20 教練部電腦
Port4 VLAN30 業務部電腦
Port5 Trunk 接另一台交換器

每個AccessPort只屬於一個固定的VLAN
客服電腦和印表機可以互通
但
假設客服電腦要跨到教練部電腦

就要經過路由器做Inter-VLAN Routing才能通

1-3 Trunk Port 主幹連接埠

假設公司有:

交換器A和交換器B

其中都有:

VLAN 10、20、30

交換器A和B中間只有連接一條實體網路線

如果:
交換器A的VLAN20 要傳資料到 交換器B的VLAN20和30
這時

  1. 交換器A就會將VLAN20的資料封包貼上VLAN20的TAG
    1. 同時交換器A發現還有一個要送去VLAN30
    2. 經過路由器把封包從VLAN20轉到VLAN30
    3. 再送回交換器A貼上VLAN30的TAG
  2. 再將這個VLAN20和30的封包從Port5(Trunk)送出 (交換器內部轉發不需要路由)
  3. 送到交換器B的TrunkPort收到後,再轉發到交換器B的VLAN20和30並把TAG撕掉

IEEE 802.1Q Tag
規定了TAG要怎麼貼、長怎樣
前面說的貼TAG和撕TAG就是按照這個標準
這個訊框Frame屬於哪一個VLAN

1-3-1 Native VLAN 原生VLAN

Trunk Port中唯一不用貼TAG就能通過的VLAN
預設Native VLAN是VLAN1

早期舊款交換器看不懂802.1Q,所以也不會看TAG

如果把一台舊的交換器接上Trunk上
帶TAG的封包會看不懂,所以需要Native VLAN來向下相容
讓Native VLAN的訊框可以以不帶VLAN標籤Untagged的方式傳送

這種方法容易出現安全問題

如果Native VLAN設定不好

攻擊者會利用VLAN TAG處理的方式,繞過原本的VLAN分隔
這就是雙重標籤攻擊 Double Tagging Attack


二. 雙重標籤攻擊 Double Tagging Attack

屬於VLAN跳躍的一種攻擊
讓攻擊者的Frame進入原本不應該存取的另一個VLAN <- 利用Native VLAN 的機制

流程:
攻擊者在VLAN1(剛好預設Native VLAN)的AccessPort送出一個封包(偷偷貼了兩層的TAG)

  1. 外層TAG: VLAN 1
  2. 內層TAG: VLAN 30 真正的目標
  3. 資料

接下來交換器A收到封包後

  • 看到外層是VLAN1
  • 按規則,把外層的VLAN1的TAG撕掉
  • 再從Trunk送出去,但因為原本是Native VLAN,所以不會再貼TAG

現在封包只剩內層的TAG: VLAN30
交換器B收到封包後

  • 看到TAG是VLAN30
  • 轉發到VLAN30的Port

攻擊成功!
攻擊者在VLAN1卻把封包送進VLAN30

Native VLAN 設計不當會增加 Double Tagging 風險

特性:
偏向單向傳送 因為目標回傳時會送回VLAN30不會送回VLAN1

防禦方式:

  • 把Native VLAN改成沒人使用的VLAN (例如:VLAN999)
  • 不要把任何使用者放在Native VLAN
  • 強制Trunk上Native VLAN也要貼Tag
  • 只有真正需要Trunk的Port才設定Trunk

2-1 動態主幹協商 Dynamic Trunking

有些交換器的埠口預設是(自動模式)
例如
Port1不確定自己是Access還是Trunk
所以根據對方的狀態決定要Access還是Trunk
這裡傳的封包叫DTP封包(動態主幹協定封包)

DTP封包通常資訊大概有:

  • 我是誰 (我是哪台交換器)
  • 我的模式 (我想當Access還是Trunk還是都行)
  • 我支援哪種封裝 (802.1Q 或舊的 ISL)

注意
攻擊者有可能用特殊軟體發出DTP封包
(正常來說只有交換器才會發DTP封包)
嘗試偽裝成Switch,誘導Port變成Trunk
造成可能取得原本不該存取的多個 VLAN

流程會是:
交換器埠口:你是誰?
攻擊者電腦(偽造DTP封包):我是一台交換器,我要建Trunk
交換器埠口:好來吧

這也是一種VLAN跳躍VLAN Hopping

2-2 VLAN跳躍 VLAN Hopping

常見有:

  1. Switch Spoofing(交換器偽裝)
    • 偽裝成Switch
    • 協商成Trunk
    • 存取多個VLAN
  2. Double Tagging (雙重標籤攻擊)
    • 利用雙層TAG
    • 嘗試把Frame送到另一VLAN

上一篇
DAY20 DAY01~DAY19串起來
系列文
格鬥教練想轉職學資安是否搞錯了什麼(自學第一步)IPAS初級筆記 共 21 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言